/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  dev                                   |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      reactingCloud1Properties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

solution
{
    active          true;
    coupled         true;
    transient       yes;
    cellValueSourceCorrection on;

    sourceTerms
    {
        schemes
        {
            rho             explicit 1;
            U               explicit 0.2;
            Yi              explicit 1;
            h               explicit 0.8;
        }
    }

    interpolationSchemes
    {
        rho             cell;
        U               cellPoint;
        thermo:mu       cell;
        kappa           cell;
        T               cell;
        Cp              cell;
        p               cell;
    }

    integrationSchemes
    {
        U               Euler;
        T               analytical;
    }

}


constantProperties
{
    
    parcelTypeId    1;

    rhoMin          1e-15;
    TMin            200;
    pMin            1000;
    minParticleMass 1e-15;

    rho0            1000;
    T0              300;
    Cp0             4187;

    youngsModulus   1e9;
    poissonsRatio   0.35;

    epsilon0        1;
    f0              0.5;
    Pr              0.7;
    Tvap            273;
    Tbp             373;

    constantVolume  false;
}

subModels
{
    particleForces
    {
        sphereDrag;
        gravity;
    }
    injectionModels
    {
        #include "detailedSprinklerInjection"
    }

    dispersionModel none;

    patchInteractionModel standardWallInteraction;

    heatTransferModel none;

    compositionModel singlePhaseMixture;

    phaseChangeModel none;

    stochasticCollisionModel none;
    
    postProcessingModel none;
    
    surfaceFilmModel none;
    
    radiation       off;

    standardWallInteractionCoeffs
    {
        type            escape;  //stick,escape,rebound
    //    e               e [ 0 0 0 0 0 ] 1;
    //    mu              mu [ 0 0 0 0 0 ] 0;
    }
    
    ranzMarshallCoeffs
    {
        // thermal shielding
        BirdCorrection  true;
    }
    
    patchPostProcessingCoeffs
    {
        maxStoredParcels    5000;
        patches
        (
            sides
            outlet
            base
        );
    }
    
    singlePhaseMixtureCoeffs
    {
        phases
        (
            liquid
            {
                H2O 1;
            }
        );
    }
    
    liquidEvaporationCoeffs
    {
        enthalpyTransfer enthalpyDifference;

        activeLiquids
        (
            H2O
        );
    }

    thermoSurfaceFilmCoeffs
    {
        interactionType absorb;
        deltaWetThreshold 0.0001;
        Adry            2630;
        Awet            1320;
        Cf              0.6;
        splashParcelPDF
        {
            pdfType         uniform;
            uniformPDF
            {
                minValue        1e-04;
                maxValue        1e-04;
            }
        }
    }
}

cloudFunctions
{
    facePostProcessing
    {
        type            facePostProcessing;
        surfaceFormat   vtk; // raw, ...
        resetOnWrite    true; // restart flux averaging on write?
        log             yes;
        faceZones       
        (
             sampleFaces1
             sampleFaces2
        );
    }
}

cloudFunctions
{
    particleCollectorFmg
    {

        type            particleCollectorFmg;
        mode            polygon;
        polygons
        (

//          (( lowestX  Y  lowestZ) (lowestX  Y  highestZ) (highestX Y  highestZ) (highestX  Y  lowestZ))
            // pan order here is not accurate
            (( 0.6096 6.9476  0.6096 ) (  1.1430 6.9476  0.6096) ( 1.1430 6.9476  1.1430 ) ( 0.6096 6.9476  1.1430 )) //pan4
            (( 0.0762 6.9476  0.6096 ) (  0.6096 6.9476  0.6096) ( 0.6096 6.9476  1.1430 ) ( 0.0762 6.9476  1.1430 )) //pan3
            ((-0.6096 6.9476  0.6096 ) ( -0.0762 6.9476  0.6096) (-0.0762 6.9476  1.1430 ) (-0.6096 6.9476  1.1430 )) //pan2
            ((-1.1430 6.9476  0.6096 ) ( -0.6096 6.9476  0.6096) (-0.6096 6.9476  1.1430 ) (-1.1430 6.9476  1.1430 )) //pan1
                                                                                                               
            (( 0.6096 6.9476  0.0762 ) (  1.1430 6.9476  0.0762) ( 1.1430 6.9476  0.6096 ) ( 0.6096 6.9476  0.6096 )) //pan8
            (( 0.0762 6.9476  0.0762 ) (  0.6096 6.9476  0.0762) ( 0.6096 6.9476  0.6096 ) ( 0.0762 6.9476  0.6096 )) //pan7
            ((-0.6096 6.9476  0.0762 ) ( -0.0762 6.9476  0.0762) (-0.0762 6.9476  0.6096 ) (-0.6096 6.9476  0.6096 )) //pan6
            ((-1.1430 6.9476  0.0762 ) ( -0.6096 6.9476  0.0762) (-0.6096 6.9476  0.6096 ) (-1.1430 6.9476  0.6096 )) //pan5
                                                                                                               
            (( 0.6096 6.9476 -0.6096 ) (  1.1430 6.9476 -0.6096) ( 1.1430 6.9476 -0.0762 ) ( 0.6096 6.9476 -0.0762 )) //pan12
            (( 0.0762 6.9476 -0.6096 ) (  0.6096 6.9476 -0.6096) ( 0.6096 6.9476 -0.0762 ) ( 0.0762 6.9476 -0.0762 )) //pan11
            ((-0.6096 6.9476 -0.6096 ) ( -0.0762 6.9476 -0.6096) (-0.0762 6.9476 -0.0762 ) (-0.6096 6.9476 -0.0762 )) //pan10
            ((-1.1430 6.9476 -0.6096 ) ( -0.6096 6.9476 -0.6096) (-0.6096 6.9476 -0.0762 ) (-1.1430 6.9476 -0.0762 )) //pan9
                                                                                                               
            (( 0.6096 6.9476 -1.1430 ) (  1.1430 6.9476 -1.1430) ( 1.1430 6.9476 -0.6096 ) ( 0.6096 6.9476 -0.6096 )) //pan16
            (( 0.0762 6.9476 -1.1430 ) (  0.6096 6.9476 -1.1430) ( 0.6096 6.9476 -0.6096 ) ( 0.0762 6.9476 -0.6096 )) //pan15
            ((-0.6096 6.9476 -1.1430 ) ( -0.0762 6.9476 -1.1430) (-0.0762 6.9476 -0.6096 ) (-0.6096 6.9476 -0.6096 )) //pan14
            ((-1.1430 6.9476 -1.1430 ) ( -0.6096 6.9476 -1.1430) (-0.6096 6.9476 -0.6096 ) (-1.1430 6.9476 -0.6096 )) //pan13
                                                                                                               
            ((-0.0762 6.9476  0.0762 ) (  0.0762 6.9476  0.0762) ( 0.0762 6.9476  1.1430 ) (-0.0762 6.9476  1.1430 )) //pan17
            (( 0.0762 6.9476 -0.0762 ) (  1.1430 6.9476 -0.0762) ( 1.1430 6.9476  0.0762 ) ( 0.0762 6.9476  0.0762 )) //pan19
            ((-1.1430 6.9476 -0.0762 ) ( -0.0762 6.9476 -0.0762) (-0.0762 6.9476  0.0762 ) (-1.1430 6.9476  0.0762 )) //pan18
            ((-0.0762 6.9476 -1.1430 ) (  0.0762 6.9476 -1.1430) ( 0.0762 6.9476 -0.0762 ) (-0.0762 6.9476 -0.0762 )) //pan20
                                                                                                               
            (( 0.6096 6.9476  1.8288 ) (  1.1430 6.9476  1.8288) ( 1.1430 6.9476  2.3622 ) ( 0.6096 6.9476  2.3622 )) //pan24
            (( 0.0762 6.9476  1.8288 ) (  0.6096 6.9476  1.8288) ( 0.6096 6.9476  2.3622 ) ( 0.0762 6.9476  2.3622 )) //pan23
            ((-0.6096 6.9476  1.8288 ) ( -0.0762 6.9476  1.8288) (-0.0762 6.9476  2.3622 ) (-0.6096 6.9476  2.3622 )) //pan22
            ((-1.1430 6.9476  1.8288 ) ( -0.6096 6.9476  1.8288) (-0.6096 6.9476  2.3622 ) (-1.1430 6.9476  2.3622 )) //pan21
                                                                                                               
            (( 0.6096 6.9476  1.2954 ) (  1.1430 6.9476  1.2954) ( 1.1430 6.9476  1.8288 ) ( 0.6096 6.9476  1.8288 )) //pan28
            (( 0.0762 6.9476  1.2954 ) (  0.6096 6.9476  1.2954) ( 0.6096 6.9476  1.8288 ) ( 0.0762 6.9476  1.8288 )) //pan27
            ((-0.6096 6.9476  1.2954 ) ( -0.0762 6.9476  1.2954) (-0.0762 6.9476  1.8288 ) (-0.6096 6.9476  1.8288 )) //pan26
            ((-1.1430 6.9476  1.2954 ) ( -0.6096 6.9476  1.2954) (-0.6096 6.9476  1.8288 ) (-1.1430 6.9476  1.8288 )) //pan25
                                                                                                               
            (( 0.6096 6.9476 -1.8288 ) (  1.1430 6.9476 -1.8288) ( 1.1430 6.9476 -1.2954 ) ( 0.6096 6.9476 -1.2954 )) //pan32
            (( 0.0762 6.9476 -1.8288 ) (  0.6096 6.9476 -1.8288) ( 0.6096 6.9476 -1.2954 ) ( 0.0762 6.9476 -1.2954 )) //pan31
            ((-0.6096 6.9476 -1.8288 ) ( -0.0762 6.9476 -1.8288) (-0.0762 6.9476 -1.2954 ) (-0.6096 6.9476 -1.2954 )) //pan30
            ((-1.1430 6.9476 -1.8288 ) ( -0.6096 6.9476 -1.8288) (-0.6096 6.9476 -1.2954 ) (-1.1430 6.9476 -1.2954 )) //pan29
                                                                                                               
            (( 0.6096 6.9476 -2.3622 ) (  1.1430 6.9476 -2.3622) ( 1.1430 6.9476 -1.8288 ) ( 0.6096 6.9476 -1.8288 )) //pan36
            (( 0.0762 6.9476 -2.3622 ) (  0.6096 6.9476 -2.3622) ( 0.6096 6.9476 -1.8288 ) ( 0.0762 6.9476 -1.8288 )) //pan35
            ((-0.6096 6.9476 -2.3622 ) ( -0.0762 6.9476 -2.3622) (-0.0762 6.9476 -1.8288 ) (-0.6096 6.9476 -1.8288 )) //pan34
            ((-1.1430 6.9476 -2.3622 ) ( -0.6096 6.9476 -2.3622) (-0.6096 6.9476 -1.8288 ) (-1.1430 6.9476 -1.8288 )) //pan33
                                                                                                               
            ((-0.0762 6.9476  1.2954 ) (  0.0762 6.9476  1.2954) ( 0.0762 6.9476  2.3622 ) (-0.0762 6.9476  2.3622 )) //pan37
            (( 0.0000 6.9476  1.1430 ) (  1.1430 6.9476  1.1430) ( 1.1430 6.9476  1.2954 ) ( 0.0000 6.9476  1.2954 )) //pan39
            ((-1.1430 6.9476  1.1430 ) (  0.0000 6.9476  1.1430) ( 0.0000 6.9476  1.2954 ) (-1.1430 6.9476  1.2954 )) //pan38
                                                                                                               
            (( 0.0000 6.9476 -1.2954 ) (  1.1430 6.9476 -1.2954) ( 1.1430 6.9476 -1.1430 ) ( 0.0000 6.9476 -1.1430 )) //pan41
            ((-1.1430 6.9476 -1.2954 ) (  0.0000 6.9476 -1.2954) ( 0.0000 6.9476 -1.1430 ) (-1.1430 6.9476 -1.1430 )) //pan40
            ((-0.0762 6.9476 -2.3622 ) (  0.0762 6.9476 -2.3622) ( 0.0762 6.9476 -1.2954 ) (-0.0762 6.9476 -1.2954 )) //pan42
            
        );

//        mode            concentricCircle;
//        origin          (0.05 0.025 0.005);
//        radius          (0.01 0.025 0.05);
//        nSector         1;
//        nSector         3;
//        refDir          (1 0 0);

        normal          (0 -1 0);
        negateParcelsOppositeNormal no;
        surfaceFormat   vtk;
        resetOnWrite    yes;
        log             yes;
        removeCollected no;
    }
}
// ************************************************************************* //
